import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

/*
cpolar 公网 HTTPS 访问指引

步骤：
1) 启动后端（本地）：http://localhost:8888
2) 启动前端（本地）：npm run dev → http://localhost:5173
3) 启动 cpolar 隧道：cpolar http 5173
4) 使用 cpolar 分配的 https 域名访问前端页面

需要修改的配置：
- PUBLIC_DOMAIN：替换为你的 cpolar 公网域名（如 xxx.cpolar.cn）
- server.allowedHosts：包含 PUBLIC_DOMAIN，允许该域名访问 Vite dev server
- server.https：保持 false（HTTPS 在 cpolar 公网侧终止，本地使用 http）
- server.hmr：通过 wss 连接热更新通道（host=PUBLIC_DOMAIN, clientPort=443）
- server.proxy：/api → http://localhost:8888，将 API 请求代理到本地后端

提示：修改 PUBLIC_DOMAIN 后需重启 dev 服务。
*/

// 将此处改为你的 cpolar 公网域名（留空表示不启用特殊配置）
const PUBLIC_DOMAIN = '' // 例如：'your.cpolar.cn'

export default defineConfig({
  plugins: [
    vue() // Vue 3 插件
  ],
  server: {
    host: true, // 监听 0.0.0.0，允许外部访问
    port: 5173, // 本地开发端口
    https: false, // 本地使用 http，cpolar 在公网侧提供 https
    allowedHosts: PUBLIC_DOMAIN ? [PUBLIC_DOMAIN] : [],
    hmr: PUBLIC_DOMAIN ? {
      // 通过 cpolar 的 https 域名访问时，HMR 使用安全 WebSocket
      protocol: 'wss',
      host: PUBLIC_DOMAIN,
      clientPort: 443
    } : true,
    proxy: {
      // 将以 /api 开头的请求代理到本地后端，避免跨域
      '/api': {
        target: 'http://localhost:8888',
        changeOrigin: true
      }
    }
  }
})


